1. An
abstract machine for which an
interpreter exists.
Virtual machines are often used in the implementation of
portable executors for
high-level languages. The HLL is
compiled into code for the virtual machine (an {intermediate
language}) which is then executed by an
interpreter written
in
assembly language or some other portable language like
C.
Examples are
Core War,
Java Virtual Machine,
OCODE,
OS/2,
POPLOG,
Portable Scheme Interpreter, {Portable
Standard Lisp},
Parallel Virtual Machine, {Sequential Parlog
Machine},
SNOBOL Implementation Language,
SODA,
Smalltalk.
2. A software emulation of a physical computing environment.
The term gave rise to the name of
IBM's
VM {operating
system} whose task is to provide one or more simultaneous
execution environments in which operating systems or other
programs may execute as though they were running "on the bare
iron", that is, without an eveloping Control Program. A major
use of
VM is the running of both outdated and current versions
of the same operating system on a single
CPU complex for the
purpose of system migration, thereby obviating the need for a
second processor.
(2002-04-15)